package com.kanesoft.android.gdx.actors.fight;

import com.kanesoft.android.gdx.widgets.sprites.SpriteInfo;
import com.kanesoft.android.gdx.widgets.sprites.SpriteWidget;

public abstract class FightActorStateMachine {
    
    protected SpriteInfo stateSpriteInfo;
    protected SpriteWidget actorSprite;
    protected FightActorObject actor;
    
    public FightActorStateMachine(SpriteInfo stateSpriteInfo, FightActorObject actor) {
        this.stateSpriteInfo = stateSpriteInfo;
        this.actor = actor;
        actorSprite = actor.actorSpriteWidget;
    }
    
    public abstract boolean OnEnter();

    public boolean OnLeave() {
        return true;
    }

    public abstract boolean OnUpdate();

    public void OnEvent(Object event) {}
    
    public abstract String getStateName();
}
